Proximity interface apparatuses, systems, and methods

ABSTRACT

In certain exemplary embodiments, data representative of a proximity heuristic specifying a plurality of levels of an object detection zone associated with a display screen is maintained, an object is detected within the object detection zone, one of the levels is selected based on at least one attribute of the object, and an action associated with the selected level is performed. In certain examples, the action includes modifying a graphical user interface view displayed on the display screen.

BACKGROUND INFORMATION

Electronic devices continue to increase in complexity and functionality.This poses several challenges to designers of such devices. For example,it may be difficult for a designer to develop and provide an intuitive,functional, and convenient user interface for certain electronicdevices, especially devices that are small in size, have limited inputmechanisms, and/or have robust functionality.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various embodiments and are a partof the specification. The illustrated embodiments are merely examplesand do not limit the scope of the disclosure. Throughout the drawings,identical or similar reference numbers designate identical or similarelements.

FIG. 1 illustrates a proximity interface system.

FIG. 2 illustrates an exemplary device having the system of FIG. 1implemented therein.

FIG. 3A illustrates a perspective view of an exemplary object detectionzone associated with a display screen.

FIG. 3B illustrates a perspective view of another exemplary objectdetection zone associated with a display screen.

FIG. 3C illustrates a perspective view of multiple exemplary objectdetection zones associated with a display screen.

FIG. 3D illustrates a perspective view of an object located within theobject detection zone of FIG. 3B.

FIG. 4 illustrates an exemplary capacitance sensor.

FIG. 5 illustrates a cross-sectional side view of exemplary distancelevels associated with an object detection zone.

FIG. 6 illustrates exemplary speed levels associated with an objectdetection zone.

FIGS. 7A-7D illustrate exemplary graphical user interface (“GUI”) viewsthat may be displayed on a display screen.

FIGS. 8A-8C illustrate another exemplary object detection zoneassociated with a display screen and various positions of an objectrelative to the exemplary object detection zone.

FIG. 9 illustrates an exemplary proximity interface method.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Exemplary proximity interface apparatuses, systems, and methods aredescribed herein. In certain exemplary embodiments, data representativeof a proximity heuristic specifying a plurality of levels of an objectdetection zone associated with a display screen is maintained, an objectis detected within the object detection zone, one of the levels isselected based on at least one attribute of the object, and an actionassociated with the selected level is performed. In certain examples,the action includes modifying a graphical user interface view displayedon the display screen. Examples of proximity heuristics, objectdetection zones, levels associated with object detection zones,attributes of objects located within object detection zones, and actionsassociated with levels of object detection zones are described below.

The exemplary proximity interface apparatuses, systems, and methodsdescribed herein may facilitate an intuitive, functional, and/or robustuser interface. Such a proximity interface may allow a user of a deviceto control display of a graphical user interface view on a displayscreen by positioning and/or moving an object (e.g., a finger or thumb)within an object detection zone associated with the display screen. Incertain embodiments, the object detection zone may be adjacent to thedisplay screen (e.g., the object detection zone may include a volumespace located proximate to and extending away from but not including thedisplay screen) such that an object positioned and/or moved proximate tothe display screen may control the display of a graphical user interfaceview on the display screen, without the object physically touching thedisplay screen. In certain other embodiments, an object detection zonemay include an area space on a display screen such that an objecttouching or otherwise positioned on the display screen may control thedisplay of a graphical user interface view on the display screen.

Exemplary embodiments of proximity interface apparatuses, systems, andmethods will now be described in more detail with reference to theaccompanying drawings.

FIG. 1 illustrates an exemplary proximity interface system 100 (orsimply “system 100”). As shown in FIG. 1, system 100 may include acommunication facility 110, processing facility 120, storage facility130, applications facility 140, user interface facility 150, andproximity interface facility 160 communicatively connected to oneanother. The facilities 110-160 may be communicatively connected usingany suitable technologies and may communicate using any communicationplatforms and/or technologies suitable for transporting communications,data, and/or signals between the facilities 110-160.

In some examples, system 100 may include any computing hardware and/orinstructions (e.g., software programs), or combinations of computinginstructions and hardware, configured to perform one or more of theprocesses described herein. In particular, it should be understood thatsystem 100 or components of system 100 may be implemented on onephysical computing device or may be implemented on more than onephysical computing device. Accordingly, system 100 may include any oneof a number of computing devices, and may employ any of a number ofcomputer operating systems.

One or more of the processes described herein may be implemented atleast in part as computer-executable instructions, i.e., instructionsexecutable by one or more computing devices, tangibly embodied in acomputer-readable medium. In general, a processor (e.g., amicroprocessor) receives instructions, e.g., from a memory, acomputer-readable medium, etc., and executes those instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein. Such instructions may be stored and transmitted usinga variety of known computer-readable media.

A computer-readable medium (also referred to as a processor-readablemedium) includes any medium that participates in providing data (e.g.,instructions) that may be read by a computer (e.g., by a processor of acomputer). Such a medium may take many forms, including, but not limitedto, non-volatile media, volatile media, and transmission media.Non-volatile media may include, for example, optical or magnetic disksand other persistent memory. Volatile media may include, for example,dynamic random access memory (“DRAM”), which typically constitutes amain memory. Transmission media may include, for example, coaxialcables, copper wire and fiber optics, including the wires that comprisea system bus coupled to a processor of a computer. Transmission mediamay include or convey acoustic waves, light waves, and electromagneticemissions, such as those generated during radio frequency (“RF”) andinfrared (“IR”) data communications. Common forms of computer-readablemedia include, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any othermemory chip or cartridge, or any other medium from which a computingdevice can read.

Accordingly, each of the facilities 110-160 may be implemented ashardware, computing instructions (e.g., software) tangibly embodied on acomputer-readable medium, or a combination of hardware and tangiblyembodied computing instructions configured to perform one or more of theprocesses described herein. In certain embodiments, for example,proximity interface facility 160 and/or one or more other facilities maybe implemented as one or more software applications embodied on acomputer-readable medium such as storage facility 130 or other memoryand configured to direct processing facility 120 to execute one or moreof the processes described herein.

The components of system 100 shown in FIG. 1 are illustrative only.Other embodiments may add, omit, or reconfigure one or more components.In certain embodiments, for example, communication facility 110 may beomitted.

System 100 may be implemented as may suit a particular application. FIG.2 illustrates an exemplary device 200 having system 100 implementedthereon. Device 200 may include one or more of the facilities 110-160shown in FIG. 1 and may be configured to perform one or more of theprocesses and/or operations described herein. Device 200 may include,but is not limited to, a mobile device (e.g., a mobile phone device),media device, handheld device, computer, gaming device, phone device(e.g., Verizon Hub device), communications device, navigation device,entertainment device, vehicular device, personal-digital assistant,digital camera, and any other device having one or more components ofsystem 100 implemented therein.

Device 200 may include a display screen 220 configured to display one ormore graphical user interfaces (“GUIs”) for viewing by a user of device200. Display screen 220 may be included in user interface facility 150,as described further below. In certain embodiments, display screen maycomprise a touch screen display configured to sense touch input. Thetouch screen display may employ single-touch and/or multi-touch touchscreen technologies. Examples of GUIs and various GUI views that may bedisplayed on display screen 220 are described in detail further below.Device 200 may also include input mechanisms such as one or more of theinput buttons 230 shown in FIG. 2.

Each of the facilities 110-160 shown in FIG. 1 will now be described inmore detail.

Communication facility 110 may be configured to send and/or receivecommunications to/from one or more external devices (e.g., a server).Communication facility 110 may include and/or employ any device, logic,communication media, communication protocols, and/or other technologiessuitable for transmitting and receiving communications signals and data.Examples of such communication technologies, devices, media, andprotocols include, but are not limited to, data transmission media,communications devices, Transmission Control Protocol (“TCP”), InternetProtocol (“IP”), File Transfer Protocol (“FTP”), Telnet, HypertextTransfer Protocol (“HTTP”), Hypertext Transfer Protocol Secure(“HTTPS”), Session Initiation Protocol (“SIP”), Simple Object AccessProtocol (“SOAP”), Extensible Mark-up Language (“XML”) and variationsthereof, Simple Mail Transfer Protocol (“SMTP”), Real-Time TransportProtocol (“RTP”), User Datagram Protocol (“UDP”), Global System forMobile Communications (“GSM”) technologies, Code Division MultipleAccess (“CDMA”) technologies, Time Division Multiple Access (“TDMA”)technologies, Short Message Service (“SMS”), Multimedia Message Service(“MMS”), Evolution Data Optimized Protocol (“EVDO”), radio frequency(“RF”) signaling technologies, signaling system seven (“SS7”)technologies, Ethernet, in-band and out-of-band signaling technologies,Fiber-to-the-premises (“FTTP”) technologies, Passive Optical Network(“PON”) technologies, and other suitable communications networks andtechnologies.

Processing facility 120 may include one or more processors and may beconfigured to execute and/or direct execution of one or more processesor operations described herein. Processing facility 120 may directexecution of operations in accordance with computer-executableinstructions such as may be stored in storage facility 130 or anothercomputer-readable medium. As an example, processing facility 120 may beconfigured to process data, including demodulating, decoding, andparsing acquired data, and encoding and modulating data for transmissionby communication facility 110.

Storage facility 130 may include one or more data storage media,devices, or configurations and may employ any type, form, andcombination of storage media. For example, the storage facility 130 mayinclude, but is not limited to, a hard drive, network drive, flashdrive, magnetic disc, optical disc, random access memory (“RAM”),dynamic RAM (“DRAM”), other non-volatile and/or volatile storage unit,or a combination or sub-combination thereof. Electronic data (e.g., datarepresentative of a proximity heuristic) may be temporarily and/orpermanently stored in the storage facility 130.

Applications facility 140 may include any combination of hardware,software, and/or firmware configured to execute one or moreapplications. In certain embodiments, applications facility 140 includesat least one software application tangibly embodied on a computerreadable medium and configured to direct processing facility 120 toperform one or more application operations. Examples of suchapplications may include, but are not limited to, media playerapplications, media content processing applications, menu applications,image viewer applications (e.g., 3-D image viewer applications), andcommunications applications (e.g., phone, messaging, and/or web browserapplications).

User interface facility 150 may be configured to present output to auser. For example, user interface facility 150 may include one or morecomponents configured to display a GUI for viewing by a user. Anysuitable display components and technologies may be employed by userinterface facility 150, including a display screen 220 and one or moredisplay screen drivers. Exemplary GUI views that may be displayed on adisplay screen 220 of user interface facility 150 are illustrated in theaccompanying drawings and described further below.

User interface facility 150 may be configured to receive input from auser. As mentioned above, in certain embodiments, user interfacefacility 150 may include one or more touch screen components configuredto receive user input. Any suitable touch screen components andtechnologies may be employed by user interface facility 150. Forexample, user interface facility 150 may include a touch screen havingone or more sensors configured to sense one or more objects touching asurface of the touch screen. An object touch on the touch screen may besensed in any suitable way and using any suitable sensor technologies,including capacitance, heat, and/or optic sensor technologies, forexample.

In certain embodiments, user interface facility 150 may include acombination of display components and touch screen components. Forexample, user interface facility 150 may include a touch screen displayconfigured to concurrently display a GUI and to sense one or more objecttouches on a surface of the touch screen display.

User interface facility 150 may be configured to interact withapplications facility 140. For example, user interface facility 150 maysend and receive data and/or signals to/from applications facility 140,including providing data signals representative of sensed user input andreceiving data signals representative of user output. For instance, userinterface facility 150 may receive GUI data from applications facility140 and generate and display a GUI based on the GUI data. User interfacefacility 150 may also provide data representative of sensed user inputto applications facility 140 for use by one or more applications.

Proximity interface facility 160 may be configured to detect an objectlocated within an object detection zone associated with a display screen220. In certain embodiments, an object detection zone may include aspace located adjacent to a display screen 220. FIG. 3A illustrates anexemplary object detection zone 310-1 adjacent to but not includingdisplay screen 220. As shown, object detection zone 310-1 may include avolume space positioned proximate to and extending away from a surfaceof the display screen 220. In the illustrated example, object detectionzone 310-1 comprises a generally three dimensional (“3-D”) rectangularspace defined by the dashed lines and positioned proximate to thesurface of the display screen 220.

Object detection zone 310-1 may be defined and/or described withreference to a coordinate system 320 having directional axes “X,” “Y,”and “Z,” which may be oriented as shown in FIG. 3A. As illustrated, thesurface of the display screen 220 may be positioned within an X-Y plane,and object detection zone 310-1 may comprise an X-Y planar area having asize substantially corresponding to the surface area of the displayscreen 220 and extending a certain distance away from the display screen220 in the direction of the Z axis to create the volume space shown inFIG. 3A. Coordinate system 320 may be used to define, determine, and/ordescribe a position and/or one or more other attributes of an objectlocated within object detection zone 310.

In certain embodiments, object detection zone 310-1 does not include thesurface of the display screen 220. In such embodiments, proximityinterface facility 160 may be configured to interact with user interfacefacility 150 such that system 100 may receive and use different types ofuser input. For example, proximity interface facility 160 may beconfigured to detect an object located in object detection zone 310-1and identify proximity-based user input from the detected proximateobject. Additionally or alternatively, one or more touch screencomponents of user interface facility 150 may be configured to detect anobject touching the surface of the display screen 220 and identifytouch-based user input from the detected object touching the displayscreen 220. In certain examples, one type of user input may beprioritized over another type of user input. For instance, touch-baseduser input may be prioritized over proximity-based user input in someimplementations.

As shown, a size component of object detection zone 310-1 (e.g., the X-Yplanar area of the object detection zone 310-1) may substantiallycorrespond with a size (e.g., the surface area) of the display screen220. Accordingly, a positioning of an object within object detectionzone 310-1 that is substantially perpendicular to a particular positionon the surface of the display screen 220 may be detected by proximityinterface facility 160 to correspond to that position.

The exemplary object detection zone 310-1 shown in FIG. 3A isillustrative only. Other object detection zones having different shapes,sizes, orientations, and/or other parameters and/or associations withdisplay screen 220 may be used in other embodiments. FIG. 3B illustratesa perspective view of another exemplary object detection zone 310-2located adjacent to display screen 220. As shown in FIG. 3B, objectdetection zone 310-2 may be positioned proximate to and extend away froma portion of the display screen 220. In this or similar manner, objectdetection zone 310-2 may be associated with a particular portion of thedisplay screen 220. For example, a GUI displayed on display screen 220may include a graphic 325 (e.g., a folder, file, or menu item icon). Thedisplayed graphic 325 may occupy only a portion of the display screen220, and object detection zone 310-2 may be positioned proximate to andextend away from the portion of the display screen 220 displaying thegraphic 325.

In certain embodiments, multiple object detection zones may beassociated with a display screen 220. For example, object detectionzones may be associated with different area portions of the displayscreen 220. FIG. 3C illustrates object detection zone 310-2 and anotherobject detection zone 310-3 located adjacent to but not includingdifferent area portions of display screen 220. FIG. 3C furtherillustrates exemplary graphics 325-1 and 325-2 that may be displayed onthe display screen 220 and with which object detection zones 310-2 and310-3 may be respectively associated.

While various object detection zones and configurations of objectdetection zones are illustrated in FIGS. 3A-3C, the examples areillustrative only. Other object detection zones and/or configurations ofobject detection zones may be used in other embodiments. For example,instead of a 3-D rectangular-shaped object detection zone, an objectdetection zone having a hemispherical shape may be used. Objectdetection zones such as those illustrated in FIGS. 3A-3C will begenerally referred to as “object detection zones 310.”

FIG. 3D illustrates a perspective view of an object 330 located withinthe object detection zone 310-2 of FIG. 3B. In the example shown in FIG.3D, object 330 includes a human finger. This is illustrative only andnot limiting in any sense. Any object that may be detected by proximityinterface facility 160 as being located within an object detection zone310 may be used. For example, object 330 may include a human finger orthumb, a stylus, or any other tangible object that may be positionedwithin and detected by the proximity interface facility 160 as beingpositioned within an object detection zone 310. As used herein,detection of an object 330 within an object detection zone 310 mayinclude detection of an object 330 positioned within the objectdetection zone 310 as shown in FIG. 3D and/or detection of an object 330entering into or exiting from an object detection zone 310.

Object 330 may be detected as being located within an object detectionzone 310 in any suitable way and using any suitable technologies. Forexample, user interface 150 and/or proximity interface facility 160 mayinclude one or more sensors configured to sense an object 330 locatedwithin an object detection zone 310. In certain embodiments, the shapeof an object detection zone 310 may be defined by one or more detectioncapabilities (e.g., detection range) of the sensors.

Any type and configuration of sensors and/or other components suitablefor sensing object 330 may be used. Examples of such components mayinclude, but are not limited to, one or more capacitance sensors, opticsensors, heat sensors, electromagnetic signal transmitters and/orsensors (e.g., infrared sensors), other suitable sensors, or anycombination or sub-combination of the above.

In certain embodiments, proximity interface facility 160 may include aplurality of infrared sensors configured to detect one or more types ofobjects 330 (e.g., a human finger or thumb) located with an objectdetection zone 310. The infrared sensors may include passive infraredsensors, active infrared transmitters and sensors, or a combinationthereof. For active infrared sensing, proximity interface facility 160may include one or more infrared signal transmitters configured to castan object detection zone 310 or field. When an object 330 enters into oris otherwise positioned within the infrared field cast by the infraredsignal transmitters, one or more infrared sensors may detect the object330 located within the field.

Alternatively or additionally, in certain other embodiments, one or morecapacitance sensors may be used to detect an object 330 located withinan object detection zone 310. FIG. 4 shows an exemplary capacitancesensor 400 that may be used to detect an object 330 located within anobject detection zone 310. Capacitance sensor 400 may include a plasticcover 410 configured to function as a protective surface. Sensor 400 mayalso include a transmitter 420 and a receiver 430. The transmitter 420and the receiver 430 may each include metal traces (or otherelectrically conductive traces) formed on layers of a printed circuitboard (“PCB”). An excitation signal path 440 may be connected to thetransmitter 420, such that an electric field 450 is formed between thetransmitter 420 and the receiver 430. The electric field 450 may besubstantially concentrated between the transmitter 420 and the receiver430. The strength of the electric field 450 may be measured by acapacitance-to-digital converter 460.

Sensor 400 may be configured such that a fringe electric field 470 mayextend from the transmitter 420, out of the PCB, and terminate back atreceiver 430, such that the fringe electric field 470 is positioned overthe plastic cover 410 surface of the sensor 400. When an object 330(e.g., a human finger or thumb) intersects the fringe electric field470, a portion of the electric field 450 is shunted to a ground 480instead of terminating at the receiver 430. The resultant decrease incapacitance may be detected by the capacitance-to-digital converter 460and may indicate an object 330 located within an object detection zone310.

The sensitivity of the capacitance sensor 400 may be set at higher orlower levels based on certain predetermined adjustments, as may suit aparticular implementation. Higher sensitivity levels may be used todetect an object 330 at a greater distance away from the surface of thesensor 400 than when the sensitivity is set at lower levels. In certainexamples, a size (e.g., depth) of an object detection zone 310 may bedetermined by sensitivity of one or more capacitive sensors 400.

Sensors may be configured as may suit a particular implementation. Incertain examples, multiple sensors may be arranged to form a grid ofsensors associated with display screen 220. The sensor grid may bepositioned within a plane (e.g., an X-Y plane) that is generallyparallel to a surface of display screen 220. Such a grid may beconducive to a determination of a position of an object 330 within anobject detection zone 310. The position may be identified in terms ofcoordinate system 320. In certain embodiments, for example, a coordinateposition of an object 330, or at least certain coordinate valuesassociated with a position of an object 330, may be determined based atleast in part on data acquired by one or more of the sensors (referredto herein as “sensor data”).

Proximity interface facility 160 may be configured to maintain aproximity heuristic, which may be configured to guide interpretation ofand reaction to detection of an object 330 within object detection zone310. Data representative of the proximity heuristic may be stored in acomputer-readable medium such as storage facility 130, for example, andmay be configured to direct one or more operations performed byprocessing facility 120 and/or proximity interface facility 160.

The proximity heuristic may specify one or more rules for determiningone or more attributes of a detected object 330 based on sensor data. Anobject attribute may include any attribute of object 330, including, butnot limited to, a position, speed, direction, orientation, distance fromdisplay screen 220, distance from a particular position (e.g., an areawhere a graphic is displayed) on display screen 220, trajectory, and/orshape of object 330. Such attributes may be determined in any suitableway and in accordance with the proximity heuristic.

For instance, in response to a detection of an object 330 within anobject detection zone 310, proximity interface facility 160 may analyzesensor data associated with the object 330 to determine one or moreattributes of the object 330 in accordance with the proximity heuristic.As an example, the proximity heuristic may specify one or more shapepatterns, and proximity interface facility 160 may be configured tocompare sensor data with the shape patterns to identify a shape ofobject 330. In some examples, a shape pattern may specify data typicalof a human finger or thumb, for example, and sensor data may be comparedwith such a shape pattern to determine whether the detected object 330may have a human finger or thumb shape.

Identification of a shape of object 330 may be useful for determiningone or more other attributes of the object 330. For example, from anidentified shape, proximity interface facility 160 may determine anorientation of object 330, such as which way a human finger or thumb isoriented. As another example, identification of an object shape may beused to identify a position of an object 330. When an object 330 isdetermined to have a shape of a human finger or thumb, for example, aposition of the object 330 may be determined to be at a point on a tipof the finger or thumb. This position may coincide with the part of theobject 330 that is nearest to the display screen 220.

The proximity heuristic may specify one or more rules for determiningother attributes. For example, the proximity heuristic may specify oneor more equations and/or algorithms configured to utilize objectposition data to calculate distance of an object 330 from display screen220 and/or from a particular point or area on the display screen 220. Incertain examples, distance from the display screen 220 may be set to az-axis value associated with coordinates for a position of an object330. In other examples, position coordinates for two positions may beused to calculate a distance between the positions. Other suitabledistance equations and/or algorithms may be used in other embodiments.

As additional examples, the proximity heuristic may specify one or moreequations and/or algorithms that may be used to calculate speed,direction, acceleration, and/or trajectory of an object 330.Accordingly, proximity interface facility 160 may be configured tocalculate such attributes of object 330. In certain examples, proximityinterface facility 160 may be configured to record data associated withan object 330 over time. The recorded data, including time data, may beused to determine object attributes such as object speed, direction,and/or trajectory. Proximity interface facility 160 may be configured touse one or more of these object attributes to predict a target (e.g., aparticular area of the display screen 220) toward which the object 330may be headed.

The proximity heuristic may specify a plurality of levels associatedwith an object detection zone 310. The levels may include predefinedthreshold values and/or ranges associated with one or more objectattributes. For example, certain exemplary levels may include distancelevels associated with position and/or distance attributes of an object330, position levels associated with position attributes of an object330, speed levels associated with speed attributes of an object 330,trajectory levels associated with trajectory attributes of an object330, acceleration levels associated with acceleration attributes of anobject 330, combinational levels associated with combinations ofattributes of an object 330, and any other types of levels associatedwith one or more attributes of an object 330.

The proximity heuristic may further specify one or more associationsbetween each of the levels of an object detection zone 310 and one ormore actions. As described in detail further below, in response todetection of an object 330 within an object detection zone 310,proximity interface facility 160 may select one of a plurality of levelsbased on at least one attribute of the object 330 and initiateperformance of an action associated with the selected level.

To help facilitate an understanding of levels and associated actionsthat may be specified by the proximity heuristic, FIG. 5 illustrates across-sectional side view of an exemplary object detection zone 310 anda plurality of distance levels 510-1 through 510-5 (collectively“distance levels 510”) associated with the object detection zone 310.The cross-sectional side view of FIG. 5 shows an exemplary X-Z planarview of the object detection zone 310.

In the illustrated example, the plurality of distance levels 510comprises a plurality of distance intervals. Each distance interval mayinclude a range of distances, such as a range of distances from thedisplay screen 220 as measured along the Z-axis. For example, distancelevel 510-1 may comprise a first range of distances, distance level510-2 may comprise a second range of distances, distance level 510-3 maycomprise a third range of distances, distance level 510-4 may comprise afourth range of distances, and distance level 510-5 may comprise a fifthrange of distances away from the surface of the display screen 220. Theexemplary distance levels 510 shown in FIG. 5 are illustrative only.Other distance levels 510 may be defined in other implementations. Forexample, alternative to each of the distance levels 510 including arange of distances, each distance level 510 may comprise a discretedistance value corresponding to a distance away from the surface of thedisplay screen 220.

Each of the distance levels 510 may be associated with one or moreactions (e.g., actions 520-1 through 520-5, collectively referred toherein as “actions 520”), as specified by the proximity heuristic. Inthe example shown in FIG. 5, distance level 510-1 is associated with afirst action 520-1, distance level 510-2 is associated with a secondaction 520-2, distance level 510-3 is associated with a third action520-3, distance level 510-4 is associated with a fourth action 520-4,and distance level 510-5 is associated with a fifth action 520-5.

In response to detection of an object 330 within object detection zone310, in certain implementations, proximity interface facility 160 maydetermine an object attribute such as a distance of the object 330 awayfrom the display screen 220, select one of the distance levels 510specified by the proximity heuristic based on the distance of the object330 away from the display screen 220, and initiate performance of anaction 520 specified by the proximity heuristic as being associated withthe selected distance level 510. For example, object 330 may be detectedat a position within distance level 510-5. In response, proximityinterface facility 160 may select distance level 510-5 based on thedistance of the object 330 away from the display screen 220 and initiateperformance of action 520-5 in accordance with the proximity heuristic.

A change to an attribute of the object 330 may be subsequently detected.For example, the object 330 may move to another position within theobject detection zone 310. The new position may be a different distanceaway from the display screen 220 than the previous position and may fallwithin a different distance level 510-4. Accordingly, proximityinterface facility 160 may select distance level 510-4 based on the newobject position and initiate performance of action 520-4 in accordancewith the proximity heuristic. Proximity interface facility 160 mayoperate similarly when object 330 is detected at positions withindistance level 510-3, 510-2, or 510-1. Accordingly, an appropriatedistance level 510 may be selected and an associated action 520identified and performed based on the distance of the object 330 fromthe display screen 220 and in accordance with one or more rulesspecified by the proximity heuristic. When an object 330 moves from onedistance level 510 to another distance level 510, different actions maybe performed for each distance level 510.

FIG. 6 illustrates another type of level that may be specified by theproximity heuristic in other embodiments. In particular, FIG. 6illustrates an exemplary object detection zone 310 and a plurality ofspeed levels (e.g., speed levels 610-1 through 610-5, collectivelyreferred to herein as “speed levels 610”) associated therewith. In theillustrated example, the plurality of speed levels 610 comprises aplurality of speed intervals. Each speed interval may include a range ofspeeds, such as a range of speeds at which an object 330 may move towarddisplay screen 220 in the Z-axis direction. For example, speed level610-1 may comprise a first range of speed values, speed level 610-2 maycomprise a second range of speed values, speed level 610-3 may comprisea third range of speed values, speed level 610-4 may comprise a fourthrange of speed values, and speed level 610-5 may comprise a fifth rangeof speed values. The exemplary speed levels 610 shown in FIG. 6 areillustrative only. Other speed levels 610 may be defined in otherimplementations. For example, alternative to a range of speeds, eachspeed level 610 may comprise a discrete speed value in certainimplementations.

Each of the speed levels 610 shown in FIG. 6 may be associated with oneor more actions (e.g., actions 620-1 through 620-5, collectivelyreferred to herein as “actions 620”), as specified by the proximityheuristic. In the example shown in FIG. 6, speed level 610-1 isassociated with action 620-1, speed level 610-2 is associated withaction 620-2, speed level 610-3 is associated with action 620-3, speedlevel 610-4 is associated with action 620-4, and speed level 610-5 isassociated with action 620-5.

A speed at which an object 330 moves toward the display screen 220 mayfall within one of the speed levels 610 specified by the proximityheuristic, and a particular action 620 associated with the speed level610 may be identified and performed based on the determined speed of theobject 330. As an example, object 330 may be determined to be movingtoward the display screen 220 at a certain speed. Proximity interfacefacility 160 may select one of the speed levels 610 (e.g., speed level610-3) based on the speed of the object 330 and initiate performance ofa corresponding action 620 (e.g., action 620-3). In this or similarmanner, a speed level 610 may be selected and a corresponding actionidentified and performed based on a speed of an object 330.

While exemplary distance levels 510 and speed levels 610 associated withan object detection zone 310 have been described above, these examplesare illustrative and not limiting in any sense. Other levels, types oflevels, and/or configurations of levels may be specified by theproximity heuristic in other embodiments. Examples of other levelsand/or types of levels may include, but are not limited to, objecttrajectory levels (e.g., levels of trajectories at which an object 330may move with respect to the surface of the display screen 220),distance levels associated with distances of an object 330 from aparticular location on the display screen 220 (e.g., a location of agraphic displayed on the display screen 220), acceleration levelsassociated with accelerations of an object 330, position levelsassociated with positions of an object 330 within object detection zone310, and speed levels of an object in one or more other directions(e.g., in a direction within the X-Y plane).

In certain embodiments, the proximity heuristic may specify combinationsof levels, which may be associated with combinations or sub-combinationsof any of the levels mentioned above. To illustrate, distance levels 510and speed levels 610 may be used in combination to determine one or moreactions to be performed. As an example, each of a plurality of distancelevels 510 may be associated with a plurality of speed levels 610.Proximity interface facility 160 may be configured to identify adistance level 510 and a speed level 610 associated with a detectedobject 330, and to identify and initiate an action based on thecombination of identified distance level 510 and speed level 610. Hence,an object 330 moving at a certain speed may trigger a different actionwhen located within one distance level 510 than when moving at the samespeed within another distance level 510. Similarly, an object 330 movingat a certain speed within a distance level 510 may trigger a differentaction than an object 330 moving at another speed within the samedistance level 510.

As mentioned above, a level associated with an object detection zone 310may be associated with one or more actions, as specified by theproximity heuristic. In certain embodiments, certain types of levels maybe associated with certain types of actions. For example, distancelevels 510 may be respectively associated with one type of actions(e.g., displaying certain information or types of information on thedisplay screen 220) and speed levels 610 may be associated with anothertype of actions (e.g., displaying a certain level or amount of detail orinformation) in certain implementations. As an example, a relativelyslow speed level may be associated with an action for displaying a highamount of detail on the display screen 220, and a relatively high speedlevel may be associated with an action for displaying a low amount ofdetail on the display screen 220. Similarly, a distance level 510associated with relatively large distance may be associated with anaction for displaying one type of information (e.g., basic information)on the display screen 220, and another distance level associated with arelatively short distance may be associated with an action fordisplaying a another type of information (e.g., contextual information)on the display screen 220. Other associations between actions and levelsand/or types of actions and types of levels may be used in otherimplementations.

Exemplary actions that may be associated with levels of an objectdetection zone 310 by the proximity heuristic will now be described. Anysuitable actions may be used. In certain embodiments, an action mayinclude modifying a GUI view displayed on the display screen 220. Themodification may include changing one or more GUI elements such as oneor more graphics included in a GUI view. Examples of such modificationsmay include, but are not limited to, adding an additional element to aGUI, removing an element from a GUI, changing an amount of detail in aGUI, displaying additional information in a GUI, displaying a type ofinformation in a GUI, changing a size of a GUI and/or an element in theGUI, changing a resolution of a GUI view and/or GUI element,highlighting a GUI element, changing an intensity, color, hue,saturation, orientation, brightness, view angle, content, or otherattribute of a GUI element, moving a GUI element, rotating a GUIelement, zooming in or out of a GUI element and/or view, and any otheraction that may be performed on a GUI view and/or element.

In certain embodiments, the actions may include actions performed indifferent degrees. For example, a first action may include changing aresolution of a GUI element to a certain value, and a second action mayinclude changing the resolution of the GUI element to another value.Accordingly, levels associated with an object detection zone 310 may beassociated with actions of different degrees. For example, selection ofdistance level 510-5 may trigger modification of a resolution of a GUIelement to a certain value, and selection of another distance level510-3 may trigger modification of the resolution of the GUI element toanother value. Hence, as an object 330 moves nearer to the displayscreen 220 through different distance levels 510, the resolution of aGUI element displayed on the display screen 220 may be changed bydifferent degrees.

To help facilitate an understanding of exemplary actions associated withlevels of an object detection zone 310, FIGS. 7A-7D illustrate exemplaryGUI views that may be displayed on a display screen 220. FIG. 7Aillustrates a GUI view including a plurality of graphics 710representative of a library of image files (e.g., photos) andcorresponding filenames. In response to detection of an object 330 beinglocated within object detection zone 310, proximity interface facility160 may determine an attribute of the object 330, select one of aplurality of levels associated with the object detection zone 310 basedon the attribute of the object 330, and initiate performance of anaction associated with the selected level. The action may includemodifying the GUI view shown in FIG. 7A in any of the ways mentionedabove. For example, FIG. 7B illustrates another GUI view in whichcertain ones of the graphics 710 have been enlarged and repositioned andother ones of the graphics 710 have been removed from the GUI view. FIG.7B may represent a GUI view after performance of an action includingzooming in on the GUI view of FIG. 7A.

If a change to an attribute of object 330 is later detected and anotherlevel selected based on the changed attribute of the object 330, anaction associated with the other level by the proximity heuristic may beperformed. For example, FIG. 7C illustrates another GUI view in whichcertain ones of the graphics 710 have been enlarged and repositionedagain and other ones of the graphics 710 have removed from the GUI view.FIG. 7C may represent a GUI view after performance of an actionmodifying the GUI view again by zooming further in on the GUI view ofFIG. 7B. FIG. 7C further illustrates GUI view after performance of anaction further modifying the GUI view by adding additional informationand/or detail. In the illustrated example, the additional information isa date (e.g., date of creation) associated with each of the image filesrepresented in the GUI view.

As an example, object 330 may be detected at a position within objectdetection zone 310 and associated with distance level 510-5 specified bythe proximity heuristic. In response, the GUI view shown in FIG. 7A maybe modified to become the GUI view shown in FIG. 7B. If object 330 isthen detected at a position associated with distance level 510-4specified by the proximity heuristic, the GUI view shown in FIG. 7B maybe modified to become the GUI view shown in FIG. 7C. In this or similarmanner, a GUI view displayed on the display screen 220 may be modifiedbased on movement of object 330 within the object detection zone 310(e.g., movement of object 330 nearer to the surface of the displayscreen 220).

While FIGS. 7A-7C illustrate certain exemplary actions modifying certainGUI views, the examples are illustrative only. Other actions may beperformed, including actions to modify GUI views in other ways inassociation with levels of an object detection zone 310 and/or one ormore attributes of an object 330 located with the object detection zone310. For example, FIG. 7D illustrates an exemplary GUI view, which maybe a modified version of the GUI view shown in FIG. 7A. In thisparticular example, a graphic 710 associated with a particular imagefile has been enlarged while other graphics 710 associated with otherimage files have not been modified. In addition, additional informationassociated with the particular image file (e.g., a date associated withthe file) has been added to the GUI view in FIG. 7D. In this or similarmanner, actions may be performed to modify only select elements of a GUIview. For example, an action may be performed to modify graphic 325-1associated with object detection zone 310-2 shown in FIG. 3C, and adifferent action may be performed to modify graphic 325-2 associatedwith object detection zone 310-3 shown in FIG. 3C.

In certain embodiments, one or more of the exemplary actions mentionedabove may be performed to manipulate one or more 3-D graphics displayedon display screen 220. Accordingly, object 330 may be moved and/orpositioned within object detection zone 310 in order to control displayof a 3-D graphic in a GUI view. For example, movements of object 330generally in the direction of the Z-axis may be used to zoom in on andzoom out from the 3-D graphic (e.g., movement of object 330 toward thedisplay screen 220 may be used to zoom in on the 3-D graphic andmovement of object 330 away from the display screen 220 may be used tozoom out from the 3-D graphic), and movements of object 330 generally inthe X-axis and/or Y-axis directions may be used to cause the 3-D objectto rotate within a GUI. Proximity interface facility 160 may beconfigured to initiate rotation and zooming actions on the 3-D object inresponse to such movements within object detection zone 310.

In certain embodiments, the proximity interface facility 160 may beconfigured to recognize unintentional user input. For example, aproximity heuristic may be configured to recognize certain objects 330in an object detection zone 310 as typical of an unintended interfaceinteraction. Examples of such unintended interface interactions mayinclude, but are not limited to, rubbing of a display screen 220 in aclothes pocket, a person grabbing a display screen 220 with multiplefingers, jostling of a display screen 220 in a briefcase, and any otherunintentional interaction of an object 330 with an object detection zone310.

System 100 may be configured to take appropriate action in response tounintentional user input. The proximity heuristic may specifyassociations between unintentional interface interactions and one ormore actions. Accordingly, detection of unintentional interfaceinteractions may trigger appropriate actions such as ignoring theinteraction or activating or deactivating an input interface and/ordisplay screen 220. For example, a proximity interface, touch screeninterface, and/or a display screen 220 may be turned on or off inresponse to detection of an unintentional interface interaction such aswhen the display screen 220 is detected to be in a clothes pocket or abriefcase. In this or similar manner, proximity interface facility 160may determine, based on a proximity heuristic, when an object 330 inobject detection zone 310 is associated with unintentional user inputand initiate an appropriate action.

The embodiments described above are illustrative of certain exemplaryproximity interfaces. Other proximity interfaces, including variationsof the embodiments described above, may be implemented in otherembodiments. For example, FIGS. 8A-8C illustrate another exemplaryobject detection zone 800 associated with a display screen 220. Objectdetection zone 800 is shown in conjunction with a GUI view that may bedisplayed on the display screen 220 and includes a graphic 710representative of an image file and corresponding filename. As shown,object detection zone 800 may include an area space within the GUI viewand/or on the surface of the display screen 220. Hence, object detectionzone 800 may be located on the display screen 220 proximate to graphic710 as illustrated.

A plurality of distance levels 810 (e.g., 810-1 through 810-3) may beassociated with object detection zone 800 and may include distanceintervals corresponding with different distances or ranges of distancesfrom graphic 710. Proximity interface facility 160 may be configured todetect an object 830 located within the object detection zone 800.Object 830 may include an on-screen graphic (e.g., a mouse pointer orcursor) that may be moved about within the GUI view by user input.Proximity interface facility 160 may detect object 830 in any suitableway, including interacting with an application associated with theobject 830 to access object data (e.g., position data). From the objectdata, proximity interface facility 160 may determine one or moreattributes of object 830, such as a position, speed, trajectory, anddirection of the object 830.

Proximity interface facility 160 may select one of the distance levels810 associated with object detection zone 800 based on one or moreattributes of the object 830. For example, a distance level 810 may beselected based on the position of the object 830.

An action associated with the selected level by the proximity heuristicmay be performed. The action may include any of the actions mentionedabove, or any other suitable action. For example, in response to amovement of object 830 from the position shown in FIG. 8A to theposition shown in FIG. 8B, graphic 710 may be modified, such as byincreasing a brightness and/or contrast associated with graphic 710 asshown in FIG. 8B. If object 830 moves again to the position shown inFIG. 8C, graphic 710 may be modified again, such as by furtherincreasing a brightness and/or contrast associated with graphic 710 asshown in FIG. 8C. Hence, as object 830 approaches graphic 710, one ormore visual characteristics of graphic 710 and/or the GUI view includinggraphic 710 may be modified.

While object 830 is described above to include an on-screen graphic,this is illustrative only. In other implementations, proximity interfacefacility 160 may be configured to detect another object such as a fingertouching the display screen 220 within object detection zone 800.

FIG. 9 illustrates an exemplary proximity interface method. While FIG. 9illustrates exemplary steps according to one embodiment, otherembodiments may omit, add to, reorder, and/or modify any of the stepsshown in FIG. 9.

In step 910, a proximity heuristic specifying a plurality of levelsassociated with an object detection zone associated with a displayscreen is maintained. Step 910 may be performed in any of the waysdescribed above, including proximity interface facility 160 maintainingdata representative of the proximity heuristic in storage facility 130.

In step 920, an object is detected within the object detection zone.Step 920 may be performed in any of the ways described above and for anyof the exemplary object detection zones described above.

In step 930, at least one attribute of the object is determined. Step930 may be performed in any of the ways described above, includingproximity interface facility 160 determining one or more attributesbased on sensor data and in accordance with the proximity heuristic.

In step 940, one of the levels associated with the object detection zoneis selected based on at least one attribute of the object. Step 940 maybe performed in any of the ways described above, including proximityinterface facility 160 matching an attribute to a level in accordancewith the proximity heuristic.

In step 950, an action associated with the selected level is performed.The action may be associated with the selected level by the proximityheuristic. Step 950 may be performed in any of the ways described above,including proximity interface facility 160 identifying the action basedon the proximity heuristic and initiating performance of the action. Theaction may include, but is not limited to, any of the exemplary actionsdescribed above.

One or more of the steps shown in FIG. 9 may be repeated. For example, achange in at least one attribute of the object may be detected and steps940 and 950 may be repeated based on the changed attribute.

In the preceding description, various exemplary embodiments have beendescribed with reference to the accompanying drawings. It will, however,be evident that various modifications and changes may be made thereto,and additional embodiments may be implemented, without departing fromthe scope of the invention as set forth in the claims that follow. Forexample, certain features of one embodiment described herein may becombined with or substituted for features of another embodimentdescribed herein. The description and drawings are accordingly to beregarded in an illustrative rather than a restrictive sense.

1. A method comprising: maintaining data representative of a proximityheuristic specifying a plurality of levels of an object detection zoneassociated with a display screen; detecting an object within said objectdetection zone; selecting one of said levels based on at least oneattribute of said object; and performing an action associated with saidone of said levels.
 2. The method of claim 1, wherein said at least oneattribute comprises a distance between said object and said displayscreen, and said plurality of levels comprises a plurality of distanceintervals.
 3. The method of claim 1, wherein said at least one attributecomprises a speed of said object, and said plurality of levels comprisesa plurality of speed intervals.
 4. The method of claim 1, wherein saidobject detection zone comprises a volume space located adjacent to saiddisplay screen.
 5. The method of claim 1, further comprising displayinga graphic on said display screen, wherein said object detection zonecomprises a space associated with a location of said graphic on saiddisplay screen.
 6. The method of claim 1, wherein said plurality oflevels comprises at least one of a plurality of distance levels, aplurality of speed levels, a plurality of trajectory levels, a pluralityof acceleration levels, and a plurality of position levels.
 7. Themethod of claim 1, further comprising displaying a graphical userinterface view on said display screen, wherein said performing saidaction includes modifying said graphical user interface view.
 8. Themethod of claim 7, wherein said modifying includes changing at least oneof a resolution, a detail level, a size, an orientation, a brightness,and content of a graphic included in said graphical user interface. 9.The method of claim 1, tangibly embodied as computer-executableinstructions on at least one computer-readable medium.
 10. A methodcomprising: displaying a graphical user interface view on a displayscreen; detecting an object within an object detection zone adjacent tosaid display screen; selecting one of a plurality of levels associatedwith said object detection zone based on at least one attribute of saidobject and in accordance with a proximity heuristic; and modifying saidgraphical user interface view based on said one of said levels.
 11. Themethod of claim 10, further comprising: detecting a change to said atleast one attribute of said object; selecting another of said levelsassociated with said object detection zone based on said change; andfurther modifying said graphical user interface view based on saidanother of said levels.
 12. The method of claim 11, wherein said atleast one attribute comprises a distance between said object and saiddisplay screen, and said change to said at least one attribute comprisesa change in said distance between said object and said display screen.13. The method of claim 11, wherein said at least one attributecomprises a speed of said object, and said change to said at least oneattribute comprises a change in said speed of said object.
 14. Themethod of claim 11, wherein said modifying said graphical user interfaceview comprises zooming in on said graphical user interface, and whereinsaid further modifying said graphical user interface view includeszooming further in on said graphical user interface view.
 15. The methodof claim 11, wherein said modifying said graphical user interface viewcomprises changing at least one of a resolution, a detail level, a size,an orientation, a brightness, and content of a graphic included in saidgraphical user interface view.
 16. The method of claim 15, wherein saidfurther modifying said graphical user interface view comprises furtherchanging at least one of a resolution, a detail level, a size, anorientation, a brightness, and content of said graphic included in saidgraphical user interface view.
 17. The method of claim 10, wherein saidmodifying comprises rotating a three-dimensional graphic included insaid graphical user interface view.
 18. A method comprising: displayinga graphical user interface view on a display screen; detecting an objectwithin an object detection zone adjacent to said display screen;determining at least one attribute of said object; modifying saidgraphical user interface view based on said at least one attribute ofsaid object; detecting a change to said at least one attribute of saidobject; and further modifying said graphical user interface view basedon said change to said at least one attribute.
 19. The method of claim18, wherein said at least one attribute comprises at least one of aspeed of said object and a distance between said object and a graphicdisplayed on said display screen.
 20. A system comprising: a storagefacility configured to store data representative of a proximityheuristic, said proximity heuristic specifying a plurality of levels ofan object detection zone associated with a display screen and one ormore associations between said plurality of levels and a plurality ofactions; and a proximity interface facility configured to detect anobject located within said object detection zone, select one of saidlevels based on at least one attribute of said object and in accordancewith said proximity heuristic, and initiate performance of one of saidactions associated with said one of said levels by said proximityheuristic.
 21. The system of claim 20, wherein said one of said actionsincludes modifying a graphical user interface view displayed on saiddisplay screen.
 22. The system of claim 20, wherein said objectdetection zone comprises a volume space located adjacent to said displayscreen.
 23. The system of claim 20, wherein said object detection zonecomprises an area space on said display screen.
 24. The system of claim20, wherein said at least one attribute comprises at least one of aspeed of said object and a distance between said object and said displayscreen.